<?php
require_once("controller/GeneralController.php");
require_once("model/BdAccess.php");
require_once("model/FormEtudiant.php");

	/**
	 * Classe du controleur home
	 */
	class EtudiantController extends GeneralController{
		/**
		 * Initialisation du site
		 */
                function __construct() {
                    parent::__construct();
                    $this->data["menuSelected"]="Etudiants";
                    $this->data["title"]="Etudiants";
                    
                }
		
		/**
		 * Recupere les parametres (de l'url ou d'un formulaire) de mani�re globale
		 * Pour toutes les actions de ce contr�leur
		 */
		protected function getParam() {
			
                         

			/*if (isset($_GET["nomPers"]) && $_GET["nomPers"]!="") {
                                $this->data["nomPers=$_GET["nomPers"];
			} else {
                            $this->data["nomPers="Inconnu";
			}*/
               
			//formFilter params user
                        // utiliser $_POST pour acceder aux parametres POST
		}
		
		//////////////////////////// LISTE DES ACTIONS DE CE CONTROLEUR/////////////////////////
		
		/**
		 * Action page index(par d�faut)
		 */
		function index(){			
			$this->data["formFilter"] = FormEtudiant::bind();
                        $this->data["bda"]= new BdAccess();
                        $this->data["user"]=$_SESSION["utilisateur"];
                        $this->data["listEP"]=$this->data["bda"]->getListEp($this->data["user"]["NumUtilisateur"]);
                        $this->data["listEtudiant"]=$this->data["bda"]->getListEtudiants($this->data["user"]["NumUtilisateur"],$this->data["formFilter"]->getNom(),null,$this->data["formFilter"]->getNumEp(),$this->data["formFilter"]->getGroupe(),null,$this->data["formFilter"]->getAnnee());
                        if($this->data["listEP"] && !$this->data["formFilter"]->getNumEp()){
                             $ep=current($this->data["listEP"]);
                             $this->data["formFilter"]->setNumEp($ep["numEP"]);
                         }                       
                        
			// Selectionne et charge la vue
                        afficherView("etudiant", $this->data , true);
		}
                
                function ajaxGetSeances(){
                    //Récuperer les séances par etudiant et par matiere
                    //numEtudiant
                    //numEp
                    $this->data["numEtudiant"]=$_GET["numEtu"];
                    $this->data["numEp"]=$_GET["numEp"];
                    $this->data["annee"]=$_GET["annee"];
                    $this->data["bda"]= new BdAccess();
                    $this->data["user"]=$_SESSION["utilisateur"];
                    //$this->data["listSeance"]=$this->data["bda"]->getSeances($this->data["numEtudiant"],$this->data["numEp"],$this->data["annee"]);
                    $annee2=  intval($this->data["annee"])+1;
                    $grp= $this->data["bda"]->getGroupeByEtuEP($this->data["numEtudiant"],$this->data["numEp"]);
                    $this->data["numgrp"]=$grp["numgrp"];
 
                    $this->data["listSeance"] = $this->data["bda"]->getListSeancesEtu($this->data["user"]["NumUtilisateur"],  $this->data["annee"]."-01-01 00:00:00", $annee2."-08-30 00:00:00", $this->data["numEp"], $grp["idgrp"]);

                    $this->data["etudiant"]=$this->data["bda"]->getEtudiantByNum($this->data["numEtudiant"]);
                    afficherView("ajaxGetSeances", $this->data , false);

                }
                
                function ajaxUpdateSeances(){
                $this->data["numEtudiant"]=isset($_POST["numEtu"])?$_POST["numEtu"]:null;
                $this->data["idSeances"]=isset($_POST["ids"])?$_POST["ids"]:null;
                $this->data["presences"]=isset($_POST["pres"])?$_POST["pres"]:null;
                $this->data["annee"]=isset($_POST["annee"])?$_POST["annee"]:null;
                $this->data["numEP"]=isset($_POST["numEP"])?$_POST["numEP"]:null;
                //$this->data["numgrp"]=isset($_POST["numgrp"])?$_POST["numgrp"]:null;
                
                $this->data["listSeance"]=array();
                
                $this->data["bda"]= new BdAccess();
                
                if($this->data["numEtudiant"] || !isset($this->data["idSeances"][0])){
                    foreach ($this->data["idSeances"] as $key => $idSeance) {
                        if($idSeance){
                            $this->data["bda"]->updatePresence($this->data["numEtudiant"], $idSeance, $this->data["presences"][$key]);
                            
                        }
                    }
                
                    }else{
                        throw new Exception("Une erreur c'est produite durant l'enregistrement");
                    }
                }
		
	}	

/*
function  getListEtudiants($numEnseignant,$numFormation,$numEP,$numGroupe,$anneeChoisir){
            // $numEnseignant = le nom de l'enseignant connecté
            // $numFormation : numéro de la formation
            // $numEP : numéro de la matiere choisie par l'enseignent
            // $numGroupe: numéro du groupe choisie par l'enseignent
            // $numEp : numéro de matiere
*/
        ?>